package com.gp.library.utils;

import android.util.Log;

import com.square.baselibrary.BuildConfig;

/**
 * Created by jackdeng on 2021/4/13.
 */

public class LogUtils {
 
    public static boolean isDebug = BuildConfig.LOG_DEBUG;
 
    private final static String APP_TAG = "logger";

    public static void v(String msg) {
        if (isDebug) {
            v(APP_TAG, getMsgFormat(msg));
        }
    }
 
    public static void v(String tag, String msg) {
        if (isDebug) {
            Log.v(tag, getMsgFormat(msg));
        }
    }
 
 
    public static void d(String msg) {
        if (isDebug) {
            d(APP_TAG, getMsgFormat(msg));
        }
    }
 
    public static void d(String tag, String msg) {
        if (isDebug) {
            if (tag == null || tag.length() == 0
                    || msg == null || msg.length() == 0)
                return;

            int segmentSize = 3 * 1024;
            long length = msg.length();
            if (length <= segmentSize) {// 长度小于等于限制直接打印
                Log.d(tag, msg);
            } else {
                while (msg.length() > segmentSize) {// 循环分段打印日志
                    String logContent = msg.substring(0, segmentSize);
                    msg = msg.replace(logContent, "");
                    Log.d(tag, "" + logContent);
                }
                Log.d(tag, "" + msg);// 打印剩余日志
            }
        }
    }
 
 
    public static void i(String msg) {
        if (isDebug) {
            i(APP_TAG, getMsgFormat(msg));
        }
    }
 
    public static void i(String tag, String msg) {
        if (isDebug) {
            if (tag == null || tag.length() == 0
                    || msg == null || msg.length() == 0)
                return;

            int segmentSize = 3 * 1024;
            long length = msg.length();
            if (length <= segmentSize) {// 长度小于等于限制直接打印
                Log.i(tag, msg);
            } else {
                while (msg.length() > segmentSize) {// 循环分段打印日志
                    String logContent = msg.substring(0, segmentSize);
                    msg = msg.replace(logContent, "");
                    Log.i(tag, "" + logContent);
                }
                Log.i(tag, "" + msg);// 打印剩余日志
            }
        }
    }

    public static void test(String msg) {
        if (isDebug) {
            i("test==", msg);
        }
    }
 
    public static void w(String msg) {
        if (isDebug) {
            Log.w(APP_TAG, getMsgFormat(msg));
        }
    }
 
    public static void w(String tag, String msg) {
        if (isDebug) {
            Log.w(tag, getMsgFormat(msg));
        }
    }
 
 
    public static void e(String msg) {
        if (isDebug) {
            e(APP_TAG, getMsgFormat(msg));
        }
    }
 
    public static void e(String tag, String msg) {
        if (isDebug) {
            if (tag == null || tag.length() == 0
                    || msg == null || msg.length() == 0)
                return;

            int segmentSize = 3 * 1024;
            long length = msg.length();
            if (length <= segmentSize) {// 长度小于等于限制直接打印
                Log.e(tag, msg);
            } else {
                while (msg.length() > segmentSize) {// 循环分段打印日志
                    String logContent = msg.substring(0, segmentSize);
                    msg = msg.replace(logContent, "");
                    Log.e(tag, "" + logContent);
                }
                Log.e(tag, "" + msg);// 打印剩余日志
            }
        }
    }
 
    /**
     * 输出格式定义
     */
    private static String getMsgFormat(String msg) {
        return msg + "";
    }
 
}